<?php

require_once __DIR__ . "/vendor/autoload.php";
// 自绘按钮
/** 鼠标点击 */

use Kingbes\Raylib\Core; //核心
use Kingbes\Raylib\Text; // 文本
use Kingbes\Raylib\Utils; // 工具类
use Kingbes\Raylib\Shapes; // 形状

// 宽高
$screenWidth = 800;
$screenHeight = 450;

Core::initWindow($screenWidth, $screenHeight, "自绘按钮"); //初始化窗口

Core::setTargetFPS(60); //设置目标帧率

$btnRect = Utils::rectangle(100, 100, 200, 50); //按钮矩形

$btnColor = Utils::color(255, 0, 0, 255); //按钮颜色

$btnText = "click me"; //按钮文本

$white = Utils::color(255, 255, 255, 255); //白色

$green = Utils::color(0, 255, 0, 255); //绿色

// 粉色
$pink = Utils::color(255, 105, 180, 255);

// 灰色
$gray = Utils::color(200, 200, 200, 255);

// 主循环
while (!Core::windowShouldClose()) {
    // 按钮交互
    $mousePos = Core::getMousePosition(); //获取鼠标位置
    $isHovered = Shapes::checkCollisionPointRec($mousePos, $btnRect); //检查鼠标是否在按钮上
    if ($isHovered) {
        $btnColor = $gray; //按钮颜色
        if (Core::isMouseButtonDown(0)) { //检查鼠标是否按下
            $btnColor = Utils::color(0, 0, 255, 255); //按钮颜色
        } elseif (Core::isMouseButtonReleased(0)) { //检查鼠标是否松开
            echo "click\n"; //输出点击信息
        }
    } else {
        $btnColor = Utils::color(255, 0, 0, 255); //按钮颜色
    }
    Core::beginDrawing(); //开始绘制
    Core::clearBackground($white); // 清除背景

    // 绘制按钮(带圆角)
    Shapes::drawRectangleRounded($btnRect, 0.5, 10, $btnColor); //绘制按钮

    // 绘制文本
    Text::drawText($btnText, $btnRect->x + 10, $btnRect->y + 10, 20, $green);

    Core::endDrawing(); // 结束绘制
}

// 关闭窗口
Core::closeWindow();